﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace C_初级教程
{
    /// <summary>
    ///  接口
    ///  接口是为了降低程序的耦合度
    /// </summary>
    internal interface IMyInterface
    {
        /**
            接口定义了所有类继承接口时的语法合同。 接口定义了语法合同中“是什么”部分，派生类定义了语法合同“怎么做”部分。
            
            接口定义了：①、属性  ②、方法 ③、事件  这些都是接口的成员。 接口只包含了成员的声明(C# 8.0之后，接口也可以有默认实现)，成员的定义是派生类的责任。
                                                     接口提供了派生类已改遵循的标准结构。
            
            接口使得实现接口的派生类或结构在形式上保持一致。

            抽象类在某种程度上与接口类似，但是，抽象类大多只是用在当只有少数方法由基类声明，由排声类实现时。

            接口本身并不是实现任何功能，它只是和声明实现本接口的对象订立一个必须实现哪些行为的契约。
        **/

        //高内聚，低耦合 ：
                //尽量依赖于接口，不依赖于实现，正所谓"面向接口编程"。说白了就是为了解耦。
                //模块内部的联系度尽量比较紧密，模块与模块之间的依赖尽量降低

    }
}
